Qu'est-ce que expression statement is not assignment or call ?

"Expression statement is not assignment or call" est un message d'erreur courant que l'on peut rencontrer lors de la programmation dans certains langages de programmation tels que JavaScript, Python, etc.

Ce message d'erreur apparaît lorsque vous utilisez une expression qui n'est ni une affectation (assignement) ni un appel de fonction dans un endroit où une instruction (statement) est attendue.

Par exemple, voici un exemple de code JavaScript qui générerait cette erreur :

3 + 2; // Expression

Dans cet exemple, l'expression 3 + 2 calcule une somme (5) mais elle ne fait rien avec cette valeur, elle n'est donc pas utilisée de manière appropriée. Dans JavaScript, cela est considéré comme un "expression statement", qui est une instruction qui effectue une action mais ne retourne pas de valeur. Cependant, cette instruction n'est pas valable car elle ne fait rien avec le résultat de l'expression.

Pour corriger cette erreur, vous devez soit utiliser l'assignation pour stocker le résultat de l'expression dans une variable :

var sum = 3 + 2; // Assignement

Ou bien, vous devez utiliser l'expression dans un contexte où une instruction est attendue, comme un appel de fonction :

console.log(3 + 2); // Call

Dans cet exemple, nous utilisons l'expression 3 + 2 comme argument pour la fonction console.log(), ce qui affichera la valeur 5 dans la console.

Il est donc important de comprendre le contexte d'utilisation des expressions et des instructions dans un langage de programmation afin d'éviter cette erreur et de s'assurer que le code est utilisé correctement.